#ifndef IMAGEWRAPPER_H
#define IMAGEWRAPPER_H

#include "AmaranthusCommon.h"
#include "ImageCoordinateGeometry.h"
#include "GuidedNativeImageIO.h"

#include "itkSmartPointer.h"
#include "itkImageToVTKImageFilter.h"

#include <QObject>

class ImageProperties;
class ImageCoordinateGeometry;

class ImageWrapperBase : public QObject
{
    Q_OBJECT

public:
    ImageWrapperBase()
    { m_Initialized = false; }

    ~ImageWrapperBase() {}

    void SetImageGeometry(ImageCoordinateGeometry *imageCoordinateGeometry)
    { m_ImageCoordinateGeometry = imageCoordinateGeometry; }

    void SetImageProperties(ImageProperties *imageProperties)
    { m_ImageProperties = imageProperties; }

    bool IsInitialized() const
    { return m_Initialized; }

protected:
    bool m_Initialized;    

    ImageCoordinateGeometry *m_ImageCoordinateGeometry;
    ImageProperties *m_ImageProperties;


};


#endif
